Click disambiguation on a touch-sensitive input device

ABSTRACT

The surface of an touch-sensitive input device may act as a physical button that the user may push down to perform a click or other operation. For example, the user may push down the surface of the input device with one finger for a left click and push down the surface of the input device with two fingers for a right click. In one aspect, a system for detecting a left click or a right click when the user pushes down the surface of the input device is provided. When the system first detects that the surface of the input device is pushed down, the system may wait for a short period of time before making a determination of whether the user is pushing down the surface with one finger or two fingers. During this time, the system may collect additional information to make a more reliable determination.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional PatentApplication No. 61/475,213, filed Apr. 13, 2011, entitled “CLICKDISAMBIGUATION ON A TOUCH-SENSITIVE INPUT DEVICE,” the disclosure ofwhich is hereby incorporated by reference in its entirety for allpurposes.

BACKGROUND

The present disclosure generally relates to clicking on atouch-sensitive input device.

A user may input commands to a computing system (e.g., laptop) via atouch-sensitive input device (e.g., touch pad). For example, the usermay move a finger across the surface of the input device to scroll apage or move a pointer displayed on the computing system. In anotherexample, the user may perform a click by pressing down the surface ofthe touch-sensitive input device with one or more fingers.

SUMMARY

The surface of an touch-sensitive input device may act as a physicalbutton that the user may push down to perform a click or otheroperation. For example, the user may push down the surface of the inputdevice with one finger for a left click and push down the surface of theinput device with two fingers for a right click.

In one aspect of the present disclosure, a system for detecting a leftclick or a right click when the user pushes down the surface of theinput device is provided. When the system first detects that the surfaceof the input device is pushed down, the system may wait for a shortperiod of time before making a determination of whether the user ispushing down the surface of the input device with one finger or with twofingers. During this period of time, the system may collect additionalinformation to make a more reliable determination.

In another aspect of the present disclosure, a computer-implementedmethod of reporting button actions generated using a touch-sensitiveinput device is provided. The method includes the steps of determiningthat a surface of the touch-sensitive input device is pushed down,detecting a number of fingers on the surface of the touch-sensitiveinput device after the surface is pushed down, and reporting, in a casewhere the number of fingers detected on the surface of thetouch-sensitive input device is two, a right button down. The methodalso includes the steps of waiting, in a case where the number offingers detected on the surface of the touch-sensitive input device isone, until a period of time has elapsed or the surface is no longerpushed down, and reporting the button actions based on the number offingers detected on the surface of the touch-sensitive input deviceduring or after the step of waiting.

In a further aspect of the present disclosure, a machine-readablestorage medium comprising machine-readable instructions for causing aprocessing unit to execute a method of reporting button actionsgenerated using a touch-sensitive input device is provided. The methodincludes the steps of determining that a surface of the touch-sensitiveinput device is pushed down, detecting a number of fingers on thesurface of the touch-sensitive input device after the surface is pusheddown, and reporting, in a case where the number of fingers detected onthe surface of the touch-sensitive input device is two, a first buttonaction. The method also includes the steps of waiting, in a case wherethe number of fingers detected on the surface of the touch-sensitiveinput device is one, until a period of time has elapsed or the surfaceof the touch-sensitive input device is no longer pushed down, andreporting the button actions based on the number of fingers detected onthe surface of the touch-sensitive input device during or after the stepof waiting.

In yet another aspect of the present disclosure, a system for reportinggestures corresponding to use of a touch-sensitive input device isprovided. The system includes the touch-sensitive input device and aprocessing unit. The processing unit is configured to determine that asurface of the touch-sensitive input device is pushed down, to detect anumber of fingers on the surface of the touch-sensitive input deviceafter the surface is pushed down, and to report, in a case where thenumber of fingers detected on the surface of the touch-sensitive inputdevice is two, a first gesture. The processing unit is also configuredto wait, in a case where the number of fingers detected on the surfaceof the touch-sensitive input device is one, until a period of time haselapsed or the surface is no longer pushed down, and to report thegestures based on the number of fingers detected on the surface of thetouch-sensitive input device during or after the step of waiting.

Additional features and advantages of the invention will be set forth inthe description below, and in part will be apparent from thedescription, or may be learned by practice of the invention. Theadvantages of the invention will be realized and attained by thestructure particularly pointed out in the written description as well asin the appended drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a conceptual diagram of an example system according to certainaspects of the disclosure.

FIG. 2A shows an example of pushing down the surface of atouch-sensitive input device with one finger to perform a left clickaccording to certain aspects of the disclosure.

FIG. 2B shows an example of pushing down the surface of atouch-sensitive input device with two fingers to perform a right clickaccording to certain aspects of the disclosure.

FIG. 3 is a flowchart of an example method of detecting a right click ora left click according to certain aspects of the disclosure.

FIG. 4 is a block diagram illustrating an example computer system withwhich the system of FIG. 1 can be implemented.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are setforth to provide a full understanding of the present disclosure. It willbe apparent, however, to one ordinarily skilled in the art that aspectsof the present disclosure may be practiced without some of thesespecific details. In other instances, well-known structures andtechniques have not been shown in detail so as not to obscure thedisclosure.

FIG. 1 shows an example system 110 according to certain aspects of thedisclosure. The system 110 includes a touch-sensitive input device 120,a frame capture module 125, an identification (ID) module 130, a clickdetection module 135, and a gesture recognition module 140. Thetouch-sensitive input device 120 may include a touch pad.

In one aspect, the input device 120 may detect one or more fingers onthe surface of the input device 120, the position (e.g., (x,y)coordinates) of each finger on the surface of the input device 120, anda pressure of each finger, where the pressure may be defined as an areaof contact with the surface of the input device 120. In one aspect, theframe capture module 125 may sequentially capture and output frameswhere each frame includes the detected position (e.g., (x,y)coordinates) and pressure (e.g., contact area) of each finger on thesurface of the input device 120 at a given time instance. Each frame mayinclude additional information, such as a sequential identifier to helpmaintain the correct sequence of frames. The frame capture module 125may capture the frames at a rate of 80 frames per second, for example.However, the subject technology is not limited to this frame rate. Theframe rate may vary depending on the manufacturer of the input device120, the model of the input device 120, and/or other factors. The framecapture module 125 may output each captured frame to an ID module 130for further processing, as discussed in more detail below.

In one aspect, the ID module 130 may be configured to assign an ID toeach finger detected on the surface of the input device 120. When a newfinger is detected in a frame, the ID module assigns a new ID to theuser contact and identifies the finger in subsequent frames by itsassigned ID. For each frame, the ID module 130 may associate eachdetected position (e.g., (x,y) coordinates) in the frame with the IDassigned to the corresponding finger.

The ID module 130 can distinguish between fingers and a palm or thumbaccording to some aspects of the disclosure. A thumb or palm can bereported differently from a finger or can be excluded from beingreported. In one aspect, a thumb or palm is not counted as a finger bythe ID module. Other approaches for reporting and otherwise handlingthumbs and palms can be used.

The IDs allow the gesture recognition module 140 to identify whichdetected positions in different frames belong to the same finger, andtherefore track the movements of a particular finger using its assignedID. For example, the gesture recognition module 140 may use the IDassigned to a finger to determine the detected positions for the fingerin two consecutive frames, and infer the movement of the finger betweenframes based on the detected positions. The gesture recognition module140 may then translate the movement into a gesture (e.g., pointermovement, scroll, etc.). Thus, the IDs allow the gesture recognitionmodule 140 to identify and track individual fingers on the surface ofthe input device 120.

In one aspect, the user may push down the surface of the touch-sensitiveinput device 120 (e.g., touch pad) by applying sufficient downward forceon the surface with one or more fingers. Thus, the surface of the inputdevice 120 may act as a physical button that the user can push down toperform an operation (e.g., a click). For example, the user may pushdown the surface 210 of the input device 120 with one finger (shown inFIG. 2A) and allow the surface 210 to go back up to perform a leftclick. In another example, the user may push down the surface 210 of theinput device 120 with two fingers (shown in FIG. 2B) and allow thesurface 210 to go back up to perform a right click. In the presentdisclosure, the surface 210 of the input device 120 may be referred toas a physical button when used as a button.

A click may comprise two discreet actions: the physical button goingdown and then the physical button going back up. The number of fingerson the physical button when the physical button goes down may determinewhether the click is a right click or a left click. For example, if twofingers are on the physical button when the physical button goes down,then a right button down is reported. Then, while the physical buttonremains down, one of the fingers is removed. In this case, when thephysical button goes back up, a right button up is reported to beconsistent with the right button down, and a right click is performed.

In one aspect, each frame may include an indicator (e.g., a bit)indicating whether the physical button (surface 210 of the input device120) is down or up. The click detection module 135 may use thisinformation and the number of fingers on the physical button (surface210 of the input device 120) to detect a left click or a right click bythe user. For example, when the current frame indicates that thephysical button is down and the preceding frame indicates that thephysical button is up, the click detection module 135 may determine thenumber of fingers in the current frame to detect a right button down ora left button down. If the current frame indicates that there are twofingers on the physical button, then the click detection module 135 maydetect a right button down and report the right button down to thegesture recognition module 140. In this case, when the physical buttongoes back up, a right click is detected. If the current frame indicatesthat there is only one finger or no fingers on the physical button, thenthe click detection module 135 may detect a left button down and reportthe left button down to the gesture recognition module 140. In thiscase, when the physical button goes back up, a left click is detected.

However, the click detection module 135 may incorrectly detect a leftclick when the user intends a right click. This may occur, for example,when the user pushes down on the physical button (e.g., surface 210 ofthe input device 120) with two fingers from the air. In this example,the first frame indicating that the physical button is down may not showthe fingers on the physical button. This is because the input device 120may lag in reporting the fingers on the physical button relative toreporting that the physical button is down. As a result, the clickdetection module 135 may incorrectly detect a left click when the userintends a right click. In another example, when the user intends to pushdown the physical button with two fingers from the air, one of thefingers may reach the physical button before the other finger. In thisexample, the first frame indicating that the physical button is down mayonly show the first finger to reach the physical button. As a result,the click detection module 135 may incorrectly detect a left click whenthe user intends a right click.

To address this, the click detection module 135 may wait to report aright button down or a left button down for a short period of time(e.g., based on a preset threshold) after the physical button is firstdepressed. The click detection module 135 may use this time to receiveadditional information from one or more subsequent frames and to make amore reliable determination of whether the user is pushing down with onefinger or with two fingers using the additional information.

The gesture recognition module 140 and/or the click detection module 135can ignore a thumb or palm according to some aspects of the disclosure.

FIG. 3 shows an example method that may be performed by the clickdetection module 135 for detecting a right click or a left click. Themethod starts when the click detection module 135 receives a first frameindicating that the physical button is down. This may occur when thecurrent frame indicates that the physical button is down and thepreceding frame indicates that the physical button is up.

In step 310, the click detection module 135 determines whether thecurrent frame indicates two fingers on the physical button (surface 210of the input device 120). If the current frame indicates two fingers,then the click detection module 135 reports a right button down in step320. Otherwise, the click detection module 135 proceeds to step 330.

In step 330, the click detection module 135 starts a time limit (e.g.,30 milliseconds) for reporting a left button down or a right buttondown. The time limit may be empirically determined as the time neededfor the click detection module 135 to receive enough information fromone or more subsequent frames to reliably determine the user's intent.

In step 340, the click detection module 135 determines whether the timelimit is up. If the time limit is up, then the click detection module135 reports a left button down. This may occur, for example, when thephysical button is still down and the click detection module 135 has notreceived a subsequent frame showing two fingers within the time limit.Otherwise, the click detection module 135 proceeds to step 355.

In step 355, the click detection module 135 determines whether the nextframe indicates that the physical button is down. If the next frameindicates that the physical button is down, then the click detectionmodule 135 proceeds to step 360. Otherwise, the click detection module135 proceeds to step 375. Step 375 is performed when the next frameshows that the physical button is up.

In step 360, the click detection module 135 determines whether the nextframe shows two fingers. If the next frame shows two fingers, then theclick detection module 135 reports a right button down in step 365.Otherwise, the click detection module 135 returns to step 340. If asubsequent frame is received within the time limit, then the clickdetection module 135 may repeat steps 355-385 for the subsequent frame.

In step 375, the click detection module 135 determines whether the nextframe shows two fingers. If the next frame shows two fingers, then theclick detection module 135 reports a right button down and a rightbutton up in step 380. The click detection module 135 reports a rightbutton up because the physical button is back up when step 375 isperformed. Otherwise, the click detection module 135 reports a leftbutton down and a left button up in step 385.

In the above example, the click detection module 135 may report a rightbutton down before the time limit expires if a subsequent frame withinthe time limit shows that the button is down and shows two fingers. Theclick detection module 135 may also report a right button down or a leftbutton down before the time limit expires if a subsequent frame withinthe time limit shows that the button is up. In this case, the clickdetection module 135 may report a right button down and a right buttonup if the subsequent frame shows two fingers and report a left buttondown and a left button up if the subsequent shows one finger or nofingers.

In one aspect, the click detection module 135 may not make adetermination of whether a button down is a right button down or a leftbutton down until the time limit expires. Also, aspects of the subjecttechnology may be used to resolve ambiguity between more than two states(e.g., left click vs. right click). For example, the subject technologymay be used to resolve ambiguity between three or more three differenttypes of clicks or other gestures.

According to one aspect of the disclosure, a physical button down can bedetected without a finger being detected. For example, the physicalbutton down can be caused by a thumb or palm, which in some aspects canbe excluded from being shown as a finger. According to another aspect, adifferent time limit can be applied to different numbers of detectedfingers. For example, a different time limit can be applied to nofingers detected, one finger detected, and two fingers detected. When atime limit for a number of detected fingers expires, the click detectionmodule can report a button action based on a number of fingers shown ina next frame.

In a further aspect, different time limits can be used when resolvingambiguity between more than two states. For example, four possiblestates include but are not limited to a click with no fingers, a clickwith one finger, a click with two fingers, and a click with threefingers, each of which can represent different button actions accordingto some aspects of the disclosure. A button action can also berepresented by two different numbers of detected fingers. For example,both a click with no fingers (e.g., with a palm or thumb) and a clickwith one finger can represent a left button down action. For anotherexample, both a click with two fingers and a click with three fingerscan represent a right button down action. Aspects of the disclosure arenot limited to these examples.

FIG. 4 illustrates an example computing system 400 with which someimplementations of the subject technology may be implemented. The system400 can be a computer, a phone, a PDA, a tablet, or any other sort ofelectronic device. Such a system 400 includes various types of computerreadable media and interfaces for various other types of computerreadable media. The system 400 may include a bus 405, processing unit(s)410, a system memory 415, a read-only memory 420, a storage device 425,an input interface 430, an output interface 435, and a network interface440.

The bus 405 collectively represents all system, peripheral, and chipsetbuses that communicatively connect the numerous internal devices of thesystem 400. For instance, the bus 405 communicatively connects theprocessing unit(s) 410 with the read-only memory 420, the system memory415, and the storage device 425.

From these various memory units, the processing unit(s) 410 may retrieveinstructions and execute the instructions to perform various functionsdescribed above. For example, the processing units(s) may executeinstructions to perform the functions of the various modules illustratedin FIG. 1. The processing unit(s) can be a single processor or amulti-core processor in different implementations.

The read-only-memory (ROM) 420 may store static data and instructionsthat are needed by the processing unit(s) 410 and other modules of thesystem 400. The storage device 425, on the other hand, may be aread-and-write memory device. This device may comprise a non-volatilememory unit that stores instructions and data even when the system 400is powered down. Some implementations of the invention may use amass-storage device (such as a magnetic or optical disk and itscorresponding disk drive) as the storage device 425.

Other implementations may use a removable storage device (such as aflash drive, a floppy disk, and its corresponding disk drive) as thestorage device 425. The system memory 415 may be a volatileread-and-write memory, such as a random access memory. The system memory415 may store some of the instructions and data that the processor needsat runtime. In some implementations, instructions for executing variousprocesses described above may be stored in the system memory 415, thestorage device 425, and/or the read-only memory 420.

The bus 405 may also connect to the input interface 430 and the outputinterface 435. The input interface 430 may include the touch-sensitiveinput device 120. The output interface 435 can provide display imagesgenerated by the system 400. The optional output interface 435 caninterface with printers and display devices, such as cathode ray tubes(CRT) or liquid crystal displays (LCD). Some implementations caninterface with devices such as a touchscreen that functions as bothinput and output devices.

The bus 405 may also couple the system 400 to a network interface 440through a network adapter (not shown). In this manner, the computer canbe a part of a network of computers (such as a local area network(“LAN”), a wide area network (“WAN”), or an Intranet, or aninterconnected network of networks, such as the Internet. Any or allcomponents of system 400 can be used in conjunction with the invention.

While this specification contains many specifics, these should not beconstrued as limitations on the scope of what may be claimed, but ratheras descriptions of particular implementations of the subject matter.Certain features that are described in this specification in the contextof separate embodiments can also be implemented in combination in asingle embodiment. Conversely, various features that are described inthe context of a single embodiment can also be implemented in multipleembodiments separately or in any suitable subcombination. Moreover,although features may be described above as acting in certaincombinations and even initially claimed as such, one or more featuresfrom a claimed combination can in some cases be excised from thecombination, and the claimed combination may be directed to asubcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the aspects described above should not be understood asrequiring such separation in all aspects, and it should be understoodthat the described program components and systems can generally beintegrated together in a single software product or packaged intomultiple software products.

These and other implementations are within the scope of the followingclaims.

1. A computer-implemented method of reporting button actions generatedusing a touch-sensitive input device, comprising: determining that asurface of the touch-sensitive input device is pushed down; detecting anumber of fingers on the surface of the touch-sensitive input deviceafter the surface is pushed down; reporting, in a case where the numberof fingers detected on the surface of the touch-sensitive input deviceis two, a right button down action; waiting, in a case where the numberof fingers detected on the surface of the touch-sensitive input deviceis one, until a period of time has elapsed or the surface is no longerpushed down; and reporting the button actions based on the number offingers detected on the surface of the touch-sensitive input deviceduring or after the step of waiting.
 2. The computer-implemented methodof claim 1, wherein the period of time comprises multiple frames, andwherein the step of detecting the number of fingers on the surface ofthe touch-sensitive input device is repeated for each frame until theperiod of time has elapsed or the surface is no longer pushed down. 3.The computer-implemented method of claim 2, wherein reporting the buttonactions further comprises reporting the right button down action in acase where the number of fingers detected on the surface of thetouch-sensitive input device for one of the frames is two.
 4. Thecomputer-implemented method of claim 2, wherein reporting the buttonactions further comprises reporting a left button down action in a casewhere the period of time has elapsed and the number of fingers detectedon the surface of the touch-sensitive input device for all of the framesduring the period of time was one.
 5. The computer-implemented method ofclaim 1, wherein reporting the button actions further comprises:determining, before the period of time has elapsed, that the surface ofthe touch-sensitive input device is no longer pushed down; reporting thebutton actions based on the number of fingers detected on the surface ofthe touch-sensitive input device after the touch-sensitive input deviceis no longer pushed down.
 6. The computer-implemented method of claim 5,wherein reporting the button actions based on the number of fingersdetected on the surface of the touch-sensitive input device after thetouch-sensitive input device is no longer pushed down further comprises:detecting the number of fingers on the surface of the touch-sensitiveinput device after the touch-sensitive input device is no longer pusheddown; reporting the right button down action in a case where the numberof fingers detected on the surface of the touch-sensitive input deviceafter the touch-sensitive input device is no longer pushed down is two;and reporting a left button down action in a case where the number offingers detected on the surface of the touch-sensitive input deviceafter the touch-sensitive input device is no longer pushed down is one.7. The computer-implemented method of claim 5, wherein reporting thebutton actions based on the number of fingers detected on the surface ofthe touch-sensitive input device after the touch-sensitive input deviceis no longer pushed down further comprises: detecting the number offingers on the surface of the touch-sensitive input device after thetouch-sensitive input device is no longer pushed down; reporting thefirst button down and up action in a case where the number of fingersdetected on the surface of the touch-sensitive input device after thetouch-sensitive input device is no longer pushed down is two; andreporting a second button down and up action in a case where the numberof fingers detected on the surface of the touch-sensitive input deviceafter the touch-sensitive input device is no longer pushed down is one.8. A machine-readable storage medium comprising machine-readableinstructions for causing a processor to execute a method of reportingbutton actions generated using a touch-sensitive input device, themethod comprising: determining that a surface of the touch-sensitiveinput device is pushed down; detecting a number of fingers on thesurface of the touch-sensitive input device after the surface is pusheddown; reporting, in a case where the number of fingers detected on thesurface of the touch-sensitive input device is two, a first buttonaction; waiting, in a case where the number of fingers detected on thesurface of the touch-sensitive input device is one, until a period oftime has elapsed or the surface of the touch-sensitive input device isno longer pushed down; and reporting the button actions based on thenumber of fingers detected on the surface of the touch-sensitive inputdevice during or after the step of waiting.
 9. The machine-readablestorage medium of claim 8, wherein the period of time comprises multipleframes, and wherein the step of detecting the number of fingers on thesurface of the touch-sensitive input device is repeated for each frameuntil the period of time has elapsed or the surface is no longer pusheddown.
 10. The machine-readable storage medium of claim 9, whereinreporting the button actions further comprises reporting the firstbutton action in a case where the number of fingers detected on thesurface of the touch-sensitive input device for one of the frames istwo.
 11. The machine-readable storage medium of claim 9, whereinreporting the button actions further comprises reporting a second buttonaction in a case where the period of time has elapsed and the number offingers detected on the surface of the touch-sensitive input device forall of the frames during the period of time was one.
 12. Themachine-readable storage medium of claim 8, wherein reporting the buttonactions further comprises: determining, before the period of time haselapsed, that the surface of the touch-sensitive input device is nolonger pushed down; reporting the button actions based on the number offingers detected on the surface of the touch-sensitive input deviceafter the touch-sensitive input device is no longer pushed down.
 13. Themachine-readable storage medium of claim 12, wherein reporting thebutton actions based on the number of fingers detected on the surface ofthe touch-sensitive input device after the touch-sensitive input deviceis no longer pushed down further comprises: detecting the number offingers on the surface of the touch-sensitive input device after thetouch-sensitive input device is no longer pushed down; reporting thefirst button action in a case where the number of fingers detected onthe surface of the touch-sensitive input device after thetouch-sensitive input device is no longer pushed down is two; andreporting a second button action in a case where the number of fingersdetected on the surface of the touch-sensitive input device after thetouch-sensitive input device is no longer pushed down is one.
 14. Themachine-readable storage medium of claim 12, wherein reporting thebutton actions based on the number of fingers detected on the surface ofthe touch-sensitive input device after the touch-sensitive input deviceis no longer pushed down further comprises: detecting the number offingers on the surface of the touch-sensitive input device after thetouch-sensitive input device is no longer pushed down; reporting thefirst button action and a second button action in a case where thenumber of fingers detected on the surface of the touch-sensitive inputdevice after the touch-sensitive input device is no longer pushed downis two; and reporting a third button action and a fourth button actionin a case where the number of fingers detected on the surface of thetouch-sensitive input device after the touch-sensitive input device isno longer pushed down is one.
 15. A system for reporting gesturescorresponding to use of a touch-sensitive input device, the systemcomprising: the touch-sensitive input device; and a processing unitconfigured to: determine that a surface of the touch-sensitive inputdevice is pushed down; detect a number of fingers on the surface of thetouch-sensitive input device after the surface is pushed down; report,in a case where the number of fingers detected on the surface of thetouch-sensitive input device is two, a first gesture; wait, in a casewhere the number of fingers detected on the surface of thetouch-sensitive input device is one, until a period of time has elapsedor the surface is no longer pushed down; and report the gestures basedon the number of fingers detected on the surface of the touch-sensitiveinput device during or after the step of waiting.
 16. The system ofclaim 15, wherein the period of time comprises multiple frames, andwherein the processing unit is further configured to repeat detectingthe number of fingers on the surface of the touch-sensitive input devicefor each frame until the period of time has elapsed or the surface is nolonger pushed down.
 17. The system of claim 16, wherein the processingunit is configured to report the gestures by being configure to reportthe first gesture in a case where the number of fingers detected on thesurface of the touch-sensitive input device for one of the frames istwo.
 18. The system of claim 16, wherein the processing unit isconfigured to report the gestures by being configured to report a secondgesture in a case where the period of time has elapsed and the number offingers detected on the surface of the touch-sensitive input device forall of the frames during the period of time was one.
 19. The system ofclaim 15, wherein the processing unit is configured to report thegestures by being configured to: determine, before the period of timehas elapsed, that the surface of the touch-sensitive input device is nolonger pushed down; report the gestures based on the number of fingersdetected on the surface of the touch-sensitive input device after thetouch-sensitive input device is no longer pushed down.
 20. The system ofclaim 19, wherein the processing unit is configured to report thegestures based on the number of fingers detected on the surface of thetouch-sensitive input device after the touch-sensitive input device isno longer pushed down by being configured to: detect the number offingers on the surface of the touch-sensitive input device after thetouch-sensitive input device is no longer pushed down; report the firstgesture in a case where the number of fingers detected on the surface ofthe touch-sensitive input device after the touch-sensitive input deviceis no longer pushed down is two; and report a second gesture in a casewhere the number of fingers detected on the surface of thetouch-sensitive input device after the touch-sensitive input device isno longer pushed down is one.
 21. The system of claim 19, wherein theprocessing unit is configured to report the gestures based on the numberof fingers detected on the surface of the touch-sensitive input deviceafter the touch-sensitive input device is no longer pushed down by beingconfigured to: detect the number of fingers on the surface of thetouch-sensitive input device after the touch-sensitive input device isno longer pushed down; report the first gesture and a second gesture ina case where the number of fingers detected on the surface of thetouch-sensitive input device after the touch-sensitive input device isno longer pushed down is two; and report a third gesture and a fourthgesture in a case where the number of fingers detected on the surface ofthe touch-sensitive input device after the touch-sensitive input deviceis no longer pushed down is one.